<?php
/*
 * Modelo: "combo.php"
 * Copyright 2011 SISVOX.
 *
 * Licenciado bajo SISVOX, Version 1.0 (la "Licencia");
 * El codigo presente que compone este Software es propiedad unica y
 * exclusivamente de SISVOX, por lo tanto, usted no podrá utilizar este
 * archivo excepto en cumplimiento de la Licencia ofrecida por SISVOX.
 * Usted puede obtener una copia de la Licencia en:
 *
 *      Soluciones Integrales de Software Vox (SISVOX)
 *                 http://www.sisvox.com
 *
 *     - Carlos Calvo      <ccalvo@sisvox.com>
 *     - Andres Hernandez  <ahernandez@sisvox.com>
 *
 * A menos que sea requerido por la ley aplicable o se acuerde por escrito,
 * el software distribuido bajo la licencia se distribuye "TAL CUAL", CON
 * LAS GARANTIAS Y CONDICIONES expresadas en la "Licencia".
 */


@include_once("sql_to_xml.php");


class Combo {
		
    // Variable para los resultados de las Consultas
    private $respuesta;
	private $sql_a_xml;
	
	
    // =================================================================================================================
    //	FUNCION - CONSULTAR LOS DATOS PARA LLENAR UN COMBO
    // =================================================================================================================
	
    public function consultar( $tabla, $valor, $descripcion ) 
	{
        $this->retorno = array();
		
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smit_WS'] );
		
        if(!$conexion)
        {
            $this->retorno 		= "N";
            $this->retorno[1] 	= "<error_bd>"."No se pudo Cargar la Data del Combo (Problemas en la Conexión): ".$conexion->getLastMessage()."</error_bd>";
            return $this->retorno;
        }
        else
        {
			$sql = "SELECT $valor, $descripcion FROM $tabla";
			
			$this->respuesta = $conexion->consultar($sql);
			
			if(!$this->respuesta)
            {
                $this->retorno[0] = "N";
                $this->retorno[1] = "<error_bd>"."No se pudo Cargar la Data del Combo: ".$conexion->getLastMessage()."</error_bd>";
            }
            else
            {
			   	$this->sql_a_xml = new sql_to_xml();
			   	$this->sql_a_xml->convertir_xml($this->respuesta, $valor, $descripcion); 
                $this->retorno[0] = "S";
                $this->retorno[1] = $this->sql_a_xml->xml;
            }
			
			$conexion->desconectar();
			return $this->retorno;
		}
    }
	
	
    // =================================================================================================================
    //	FUNCION - CONSULTAR LOS DATOS PARA LLENAR UN COMBO DEPENDIENTE
    // =================================================================================================================
	
    public function consultar_dependiente( $tabla, $valor, $descripcion, $id_dependencia, $columna_dependencia ) 
	{
        $this->retorno = array();
		
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smit_WS'] );
		
        if(!$conexion)
        {
            $this->retorno 		= "N";
            $this->retorno[1] 	= "<error_bd>"."No se pudo Cargar la Data del Combo (Problemas en la Conexión): ".$conexion->getLastMessage()."</error_bd>";
            return $this->retorno;
        }
        else
        {
			$sql = "SELECT $valor, $descripcion FROM $tabla WHERE $columna_dependencia = '$id_dependencia'";
			
			$this->respuesta = $conexion->consultar($sql);
			
            if(!$this->respuesta)
            {
                $this->retorno[0] = "N";
                $this->retorno[1] = "<error_bd>"."No se pudo Cargar la Data del Combo: ".$conexion->getLastMessage()."</error_bd>";
            }
            else
            {
			   	$this->sql_a_xml = new sql_to_xml();
			   	$this->sql_a_xml->convertir_xml( $this->respuesta, $valor, $descripcion ); 
                $this->retorno[0] = "S";
                $this->retorno[1] = $this->sql_a_xml->xml;
            }
			
			$conexion->desconectar();
			return $this->retorno;
		}
    }
}
?>